A technique to achieve low power consumption in a multicore processor is conventionally disclosed that turns off a currently unutilized core so as to reduce power consumption, when an overall load of cores is light (see, e.g., Japanese Laid-Open Patent Publication Nos. S62-198949 and H9-212416).
A multicore processor with a local memory mounted on each central processing unit (CPU) uses a technique of turning off a local memory paired with each CPU, at the same time as a core is turned off and a technique of leaving a local memory turned on even if a core is turned off. Particularly, since power consumption of a local memory tends to increase as the capacity of a local memory increases, the technique of turning off a local memory along with turning off of a core is widely employed from the viewpoint of power efficiency.
A register and a local memory inside a core are generally made up of volatile memories and internal information is not retained unless power is supplied. Therefore, an operating system (hereinafter referred to as “OS”) etc., normally saves data stored in a register and a local memory of a core before the core is turned off, to a storage device such as a shared memory not to be turned off and outside the core.
By saving data stored in a volatile memory such as a local memory to a shared memory, the data can be utilized without problem even if a cache in a CPU is flushed and data is erased. When the power is turned on again, the data saved by the OS, etc., is read from the shared memory and restored in the local memory.
An example is also recently disclosed that avoids data loss due to power-supply disconnection by applying the redundant arrays of inexpensive disks (RAID) technology widely utilized as a technique for retaining security of stored data in hard disks etc., to the saving of the local memory (see, e.g., Japanese Laid-Open Patent Publication Nos. 2005-108224 and 2009-507324).
If the RAID technology is utilized, data stored in a local memory is distributed and stored in other memories. Therefore, if the power supply of the local memory is suspended due to a power-supply suspension of a CPU, data stored in other memories can be utilized to restore the erased data.
However, since the capacity of a local memory has increased accompanying recent advancements in technologies achieving higher device densities and the time required for saving data significantly increases as compared to a register and a cache, local memories are likely to have a greater impact on the deterioration of power efficiency. For example, although the capacity of a register or a cache is several tens to hundreds of bytes or several tens of kilobytes, the capacity of a local memory often reaches several hundreds of kilobytes. Therefore, it is problematic that sufficient results are not achieved even if a low-power-consumption technique is employed when consideration is given to an amount of electrical power consumed for saving data stored in the local memory.
Although the RAID technology is proposed as a solution for the saving of data in a volatile memory as described above, sufficient results are not achieved since no consideration is given to the difference in configuration between hard disks for distributing data by RAID and local memories of a multicore processor.
The restoration of data using the RAID technology is originally based on the premise of a failure of a hard disk drive. For example, the conventional RAID technology is configured to distribute data or generate redundant data for restoration based on the assumption that one or two hard disk drives (HDDs) are suspended.
On the other hand, in the case of power-supply control in a multicore processor, power supply to multiple local memories may be suspended. Therefore, it is difficult to achieve an operation such as restoring data that is lost consequent to the power-supply control of local memories even if the conventional RAID technology is expanded.